Ejemplo: Usando el OPC UA PubSub SL Biblioteca
Producto:CODESYS OPC UA PubSub SL
El OPC UA PubSub SL Example.project
El ejemplo muestra cómo usar el OPC UA PubSub SL biblioteca para intercambiar mensajes a través del protocolo Pub/Sub según lo definido por la Fundación OPC UA.
El paquete también contiene un segundo ejemplo: PubSubDataSet.project
. Muestra cómo usar el OPC UA PubSub SL biblioteca para proporcionar diferentes conjuntos de datos y conectarlos a instancias de GVL.
Descripción
Además de la comunicación Cliente/Servidor, la comunicación a través del protocolo OPC UA Pub/Sub también proporciona una capacidad adicional para intercambiar datos entre los suscriptores de una red de conformidad con las reglas de la Fundación OPC UA.
La estructura de los datos (DataSet
) puede definirse libremente y se acuerda de antemano entre el emisor y el receptor. Esto elimina la necesidad de transportar (meta) datos adicionales. Los datos se transfieren con la ayuda del OPC UA PubSub SL biblioteca a través de UDP/IP de acuerdo con las reglas definidas para UADP.
Un publicador publica sus datos a un número desconocido de suscriptores. Como resultado, el emisor y el receptor no se conocen. Es por eso que el número de receptores tampoco tiene ninguna repercusión para el remitente. Una respuesta al remitente sobre si sus mensajes han llegado o no a los receptores no se puede enviar a través del protocolo debido a la naturaleza del protocolo. Si es necesario, dicha respuesta debe gestionarse de forma específica para la aplicación.
Los datos se transfieren en formato binario según las normas de la Fundación OPC UA. El OPC UA PubSub SL
La biblioteca maneja la conversión de tipos de datos IEC en los tipos de datos OPC UA correspondientes y viceversa.
La implementación sigue los siguientes perfiles:
Publisher: PubSub Publisher UADP Periodic Fixed Settings
Subscriber: PubSub Subscriber UADP Periodic Fixed Settings
La longitud del mensaje está limitada a 1500 bytes (MTU) (no se admiten mensajes de red fragmentados). Mientras las reglas para una red sensible al tiempo aún no estén disponibles, no se podrán cumplir las condiciones estrictas de tiempo real. Sin embargo, la implementación de la OPC UA PubSub SL
biblioteca intenta mantener el jitter lo más bajo posible.
La biblioteca incluye los siguientes bloques de funciones:
DataSet
:Define un
DataSet
mensajeConfiguration
:Administra recursos compartidos, como Conexión o Grupo
RootDiagnostics
:Notifica con datos de diagnóstico superiores
Connection
:Administra la conexión con Publisher y Subscriber
ConnectionDiagnostics
:Notifica con datos de diagnóstico sobre la conexión (
Connection
)ReaderGroup
:gestiona
Reader
bloques de funciones (creación de un NetworkMessage a partir deDataSet
mensajes)ReaderGroupDiagnostics
:Notifica con datos de diagnóstico sobre el
ReaderGroup
Reader
:Gestiona el
DataSet
bloque de funciones (suscriptor)ReaderDiagnostics
:Notifica con datos de diagnóstico sobre un
Reader
bloque de funcionesWriterGroup
:gestiona
Writer
bloques de funciones (creación de un NetworkMessage a partir deDataSet
mensajes)WriterGroupDiagnostics
:Notifica con datos de diagnóstico sobre el
WriterGroup
Writer
:maneja un
DataSet
bloque de funciones (Editor)WriterDiagnostics
:Notifica con datos de diagnóstico sobre un
Writer
bloque de funciones
![]() |
Funcionalidad admitida
Publicación/Suscripción de mensajes según OPC 10000-14: OPC Unified Architecture Parte 14: PubSub Release 1.04
Tamaño máximo de un NetworkMessage: 1500 bytes
El tamaño del paquete actual y la carga útil se pueden configurar por medio de la configuración del respectivo grupo de lectores/grupos de escritores y
DataSet
bloques de funcionesApoyo con una tarea de fondo para el respectivo
Connection
bloque de funcionesSe admiten los siguientes perfiles:
Publisher: PubSub Publisher UADP Periodic Fixed Settings
Subscriber: PubSub Subscriber UADP Periodic Fixed Settings
Información adicional
El Device_1
aplicación muestra cómo leer un NetworkMessage
.
El Device_2
La aplicación muestra cómo enviar mensajes por medio de los bloques de funciones contenidos.
Hardware
necesitas dos CODESYS PLC que están conectados a través de una red que admite UDP Multicast.
En el proyecto, adapte la configuración del dispositivo a los dispositivos actualizando
Device_1
yDevice_2
al hardware utilizado.
Personalizaciones en el proyecto
Establezca las direcciones IP en el
GlobalIP
GVL al hardware que ha configurado. Encontrará esta GVL en el POU área.Establezca la dirección de multidifusión en una dirección libre en su red.
Nota: Si no está en una red privada, solicite que su administrador de red le asigne una dirección gratuita.
Configure el puerto. El puerto predeterminado 4840 es el puerto recomendado para OPC UA PubSub.
Inicie sesión en ambos controladores e inicie las aplicaciones.
Inicie tanto el emisor como el receptor:
Device_2: PLC_PRG.xEnable := TRUE
Device_1: Communication_PRG.xEnable := TRUE
En el lado del receptor, ahora debería ver cómo cambian los valores del seno. Puede cambiar manualmente los otros valores en el remitente y ver los cambios en el receptor.
Agregar una variable a la DataSet
que ya ha sido enviado.
Extender
SensorDataSet._aIndex
por una entrada. Seleccione cualquier tipo de datos.En
SensorDataSet.Init
, adaptar la versión deDataSet
actualizando la entrada de fecha.En el
PLC_PRG
programa del remitente, cree una variable del tipo de datos seleccionado. Asignar el valortxSensorDataSet.PrepareValues
a la variable.En
rxSensorDataSet.PrepareValues
, repita este paso en el lado del receptor. Cree una nueva variable del mismo tipo de antemano aquí también.Realiza una nueva descarga.
La nueva variable también debe transmitirse.
![]() |
Requisitos y restricciones del sistema
Sistema de programación | CODESYS Development System (versión 3.5.17.0 o superior) |
Sistema de tiempo de ejecución | CODESYS Control Win (versión 3.5.14.0) NotaDependiendo de las capacidades del sistema de tiempo de ejecución respectivo, los mensajes se pueden enviar a través de Unicast, Multicast o Broadcast. |
Plataformas/dispositivos compatibles | SugerenciaUtilizar el |
Restricciones |
|
Componentes adicionales | CODESYS OPC UA PubSub SL |
Aviso
DESCARGAR Proyecto